iT邦幫忙

2021 iThome 鐵人賽

DAY 12
0

資料型態(型別)Data Type

首先要介紹一個函式 gettype(),這個函式裡面填上東東,他就會吐出那個東東的「型別」,最後再用 echo 印出來就行了

echo gettype('string'); // string

另外 var_dump() 也可以顯示出「型別」,這個函式不需要 echo 直接就會印出結果,而且不只印出型別還會印出裡面的資料

var_dump(true); // bool(true)

PHP 有八種基本型別如下:

// 1. 布林值 boolean
$bool1 = true;
$bool2 = false;

// 2. 整數 integer
$int = 100;

// 3. 浮點數 float
$float = 12.34;

// 4. 字串 string
$string1 = '12.34';
$string2 = "true";

// 5. 陣列 array
$array1 = ['key1' => 'value1', 'key2' => 'value2'];
$array2 = ['a', 'b'];
$array3 = array('a', 'b');

// 6. 物件 object
$object = new MyClass();
$object->method();

// 7. 資源 resource
$resource = fopen('some.file', 'w');

// 8. 空值 null
$null = null;

其實我很少在記這些,這些都很常見,之後還會再看到,現在還無法理解也沒關係


變數 Variable

其實這個已經出現好幾次啦,PHP 變數最明顯的特徵就是以 $ 錢字號開頭的東西

你可以想像「變數」是一個只能裝一樣東西的盒子,如果你想裝進第二個東西時,第一個就會被覆蓋掉

$a = 'apple';
$a = 'air';
echo $a; // air

另外 = 這個符號不是等於的意思,正確意思是把後面的東西放進盒子裡, $a = 'b'; 讀作把 'b' 字串賦值給 $a 變數

變數的名稱是可以自己決定的

  • 區分大小寫
  • 可以用中文(非常不推薦)
  • 不能用數字開頭
  • 不能使用 $this 命名
  • 不要使用保留字

變數保留字可以在空文件中按下 $ 看到
https://ithelp.ithome.com.tw/upload/images/20210921/20132916rp1zUFl5rS.png
大多都是以 _ 開頭的大寫字,變數命名時幾乎不會取到和保留字相同的名稱

在 php 中不需要宣告變數,但是必須必須先賦值才可以使用,不賦值就使用會出現錯誤

$a;
echo $a;
PHP Notice:  Undefined variable

可以用 isset() 檢查變數,如果值「不存在」或是「null」就會返回 false

$a;
var_dump(isset($a)); // false
$a = "";
var_dump(isset($a)); // true
$a = null;
var_dump(isset($a)); // false

常數 Constant

常數不可以用 $ 作為開頭,用在不會變動的值,並且有兩種定義方式如下:

define('WEBHOOK_URL', 'example.com');
echo WEBHOOK_URL; // example.com
const API_URL = 'api.telegram.org';
echo API_URL; // api.telegram.org

命名規則 Case Styles

強烈建議與開發團隊保持相同名規則,才不會讓程式碼看起來很亂

只有自己開發時,可以選擇自己喜歡的命名方式,記得保持一致

  1. 駝峰式 Camel Case
    • 小駝峰 Lower Camel Case
      lowerCamelCase
      通常會用在函式命名
    • 大駝峰 Upper Camel Case
      UpperCamelCase
      通常會用在 Class 命名
  2. 蛇式 Snake Case
    snake_case
    通常用在變數命名
  3. 大寫蛇式 Snake Case (All Caps)
    UPPER_CASE
    常數命名時使用
  4. 烤肉串式 Kebab Case
    kebab-case
    這個較少在檔案中見到,通常會使用在 HTML 的檔名和套件名稱(這樣網址比較好看)

上一篇
【PHP Telegram Bot】Day11 - Webhook 與 Web Hosting
下一篇
【PHP Telegram Bot】Day13 - 基礎(2):數學運算與亂數
系列文
用 PHP 打造專屬於自己的 Telegram 聊天機器人吧!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言